Repository navigation
Conversation
Task: run every php debugger scenario that has active tests at least once per PR, with one debugger job per DI-relevant config, per user requirements typed in session (the Debugger/DI test coverage rules). The existing #4385 SCM matrix entries on apache-mod-8.0 and php-fpm-8.5 become multi-scenario entries carrying their config's scenario set (apache-mod-8.0: SCM, EXPRESSION_LANGUAGE, INPRODUCT_ENABLEMENT; php-fpm-8.5: SCM, TELEMETRY, EXCEPTION_REPLAY), and one job is added on apache-mod-8.0-zts (PROBES_SNAPSHOT, PII_REDACTION) so the threaded SAPI is covered. Matrix scripts switch to the tracer-release loop so a TESTSUITE value can list multiple scenarios; single-scenario values behave as before. The scenarios whose php tests are all manifest-skipped (CAPTURE_TIMEOUT, EVALUATION_TIMEOUT, SYMDB) stay out until implemented; each becomes a one-word addition to an existing entry when its tests activate. Mandated by user: the coverage rules and the design constraints (every runnable scenario at least once per PR, similar code paths spread across configs, no scenario in every config, no ten-scenario job, no per-scenario jobs, CI completion time unchanged, existing segmentation respected). Own decisions: the scenario-to-config assignment, the multi-scenario TESTSUITE mechanism, the zts weblog choice (apache-mod-8.0-zts), keeping EXPRESSION_LANGUAGE off zts due to open system-tests #8200.
❌ ErrorsYour PR has failed checks. Please review the issues below and take necessary action before merging. 🚦 14 Pipeline jobs failed
ℹ️ InfoNo other issues found (see more)🧪 All tests passed 🎯 Code Coverage (details) Useful? React with 👍 / 👎 This comment will be updated automatically if new data arrives.🔗 Commit SHA: a0ba64c | Docs | View more details | Give us feedback! |
Task: the user flagged the scenario loop that the previous commit pasted into three jobs; remove the duplication. system_tests_run_scenarios() in generate-package.php emits the loop step, following the generator's idiom for shared script snippets (dockerhub_login() in generate-common.php). All four call sites use it, including the pre-existing tracer-release job loop from dbf442b. The rendered pipeline YAML is unchanged. Mandated by: the global code-duplication rule (extract shared helpers) and user approval in session. Own decisions: the helper name, its placement in generate-package.php (the only generator using it), and the parameter taking shell words.
|
@codex review |
|
@autotest review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are identified for the expanded debugger system-test coverage.
No open issues 🎉
What changed in this PR
Expands debugger system-test coverage on pull requests so regressions can be caught before merge, including in the threaded PHP SAPI.
Changes:
- Groups eight implemented debugger scenarios across the existing Apache and PHP-FPM configurations and a new Apache ZTS job.
- Extracts a shared scenario runner that executes every scenario and reports accumulated failures.
- Reuses the runner in the existing sharded release jobs.
| File | Description |
|---|---|
.gitlab/generate-package.php |
Expands debugger job coverage and centralizes sequential scenario execution with failure reporting. |
Review effort: Balanced
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Bits couldn’t fix the CI🟢 Investigated · 🔴 Fix failed · ⚪ Validate · ⚪ Ready BitsAI did not provide a summary for this run. See the linked Datadog session for details. ⚙️SettingsCI auto-fix for future failures: Enabled · Disable Reviewed commit a0ba64c |
There was a problem hiding this comment.
More details
Grouped scenario execution continues after individual failures and reports the failed scenario names, preserving CI failure detection. Generated YAML validation and focused shell simulations support the change; full system-tests execution remains unverified.
🤖 Bits Code Review · Commit a0ba64c
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
More details
The generated CI runner continues through later scenarios after a failure and reports the accumulated failures at the end. The specialist’s configuration and shell checks support the intended behavior; full containerized system tests were not run.
🤖 Bits Code Review · Commit a0ba64c
Description
Every PR now runs all seven system-tests debugger scenarios that have active PHP tests, in three jobs on three PHP configurations. Before this change, PRs ran one debugger scenario,
DEBUGGER_PROBES_SNAPSHOT_WITH_SCM, on apache-mod-8.0 and php-fpm-8.5 (#4385). The other debugger scenarios ran only in the master tracer-release jobs, so debugger regressions surfaced after merge. A recent probe-installation regression on thread-safe (ZTS) Apache builds reached master this way.The debugger scenarios now run in one job per configuration:
The apache-mod-8.0-zts job adds debugger coverage of a thread-safe PHP build to PRs.
A
TESTSUITEmatrix value can now name several scenarios. The job script runs them in sequence through a shared generator helper. When a scenario fails, the job runs the remaining scenarios and then fails with the list of failed scenarios.Impact on CI execution time
Pipeline completion time stays the same. The system-tests stage ends when its longest job,
System Tests: [parametric], finishes after about 22 minutes. The debugger jobs run in parallel with it and finish within 10 to 15 minutes.Runner time grows by about 21 minutes per pipeline. The two extended matrix entries add 6 and 1.5 minutes, and the new zts job adds 13.5 minutes.
This change touches only CI configuration.
Reviewer checklist